package day03;
public class SingleDemo {
    public static void main(String[] args) {
//      GirlFriend girlFriend=GirlFriend.getGirlFriend();//这是通过一个方法创建的
//        System.out.println(girlFriend);
        System.out.println(GirlFriend.age);//我就是单纯的用一下而已 但
    }
}
//为什么叫做饿汉式 就是还没出去这个类 就创建完了 就是一个人很久没吃过饭 饿怕了，先不管饿不饿先new了再说
//如何保障我们只有一个女朋友呢
//1.将构造器私有化
//2.再类的内部直接创建对象（static的）
//3.提供一个公共的static方法，返回girlfriend
class GirlFriend{
    private String name;
    public static int age=20;
    private static GirlFriend girlFriend = new GirlFriend("小妹恶魔");//这个只会初始化一次 因为是静态的 随着类的加载而加载

    private GirlFriend(String name) {//不然外边直接创建对象
        this.name = name;
    }
    public static GirlFriend getGirlFriend(){
        return girlFriend;// 暴漏一个公共的方法给外部
    }
    @Override
    public String toString() {
        return "GirlFriend{" +
                "name='" + name + '\'' +
                '}';
    }
}
